home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / lisp / ilisp / HISTORY.z / HISTORY
Encoding:
Text File  |  1998-05-21  |  21.4 KB  |  483 lines

  1. # -*- Mode: Text -*-
  2.  
  3. ILISP HISTORY
  4.  
  5. ===============================================================================
  6. Version 5.8 alpha
  7.  
  8. Fixes and enhancements since 5.7
  9.  
  10. -- XLISP and XLISPSTAT support has been added on an experimental way.
  11.    Please give us feedback on their behavior.
  12.  
  13. -- There is now a way to disable the DEFPACKAGE feature for GCL.  But
  14.    it is not turned on.  You have to fix it manually by transforming two
  15.    '#+(and nil gcl)' into '#+(and t gcl)'
  16.  
  17. -- A few fixes were made to realign ILISP to Xemacs 19.14
  18.  
  19. -- The file 'clisp.lisp' has been renamed to 'cl-ilisp.lisp', in order
  20.    to avoid confusion with the CLISP implementation of Common Lisp.
  21.  
  22. -- The file ILISP.prj (if present) can be safely ignored unless you
  23.    want to use the PRCS project control system
  24.    (http://http.cs.berkeley.edu/~jmacd/prcs-home.html)
  25.  
  26. -- Changed 'comint-ipc' and 'bridge'. They now use
  27.    'process-send-string' instead of defining specialized versions of
  28.    it. (This was done because it appears that the newer versions of
  29.    'comint' have a 'process-send-string' that does what these specialized
  30.    versions used to do.)
  31.  
  32. -- Added constant '+ilisp-emacs-minor-version-number+' (in 'ilcompat').
  33.  
  34. -- Conditionalized loading of 'bridge.el' (in 'ilisp').
  35.  
  36. -- Fixed the annoying ECL/GCL glitch in 'ilisp-kcl' and the error
  37.    regexps for KCL and IBCL in the same file
  38.  
  39. -- Patched 'comint-ipc' according to suggestion by Kazuhiro Fujieda.
  40.  
  41. -- Patched 'ilisp-out'  according to suggestion by Kazuhiro Fujieda.
  42.  
  43.  
  44. Known Bugs
  45.  
  46. -- Allegro multiprocessing output handling is still broken.  This is a
  47.    though one and the maintaners cannot fix it.
  48.  
  49. -------------------------------------------------------------------------------
  50.  
  51. Version 5.7
  52.  
  53. Fixes and enhancements since 5.6:
  54.  
  55. -- ILISP now unpacks in a directory called ./ilisp-<version>.
  56.  
  57. -- Fixed various simple bugs in the init files (hooks et
  58.    similia). Check 'ilisp.el' and 'ilisp.emacs' for details.
  59.  
  60. -- Support for different Emacs versions has been broken down in
  61.    various version specific files. See:
  62.     ilcompat.el (new name for compatibility file)
  63.     ilfsf19.el
  64.     ilfsf18.el
  65.     illuc19.el = ilxemacs.el
  66.  
  67. -- ILISP is now compiled with version 19 bytecodes when
  68.    appropriate. (This should work at least for FSF 19.xx).
  69.  
  70. -- Added a primitive menubar entry.
  71.  
  72. -- Included the bug fixes for source file tracking.
  73.  
  74. -- The Makefile now contains a new target called 'loadfile', which
  75.    generates a file called 'ilisp-all.elc'. This speeds up ILISP sturtup.
  76.  
  77. -- Popping to the inferior lisp buffer is now done in a more
  78.    intelligent way in FSF-19 (i.e. if a frame with the appropriate
  79.    window is available, then that frame is raised instead of
  80.    recreating a window in the current one).
  81.  
  82. -- The ILD uniform Lisp debugger by J. Siskind has been added to the
  83.    distribution (file 'ild.mail').  ILD is not integrated yet with
  84.    ILISP, but it is important enough that people should experiment
  85.    with it.
  86.  
  87. -- The texinfo file has been fixed.
  88.  
  89. -- New dialects have been added: GCL, ECL, Harlequin Lispworks, CLISP.
  90.  
  91. -- The special-form-p/special-operator-p mess should be fixed (at
  92.    least in CMUCL).
  93.  
  94. -- Cleaned up support for Lucid, Allegro and CMULISP.
  95.  
  96. -- The file 'scheme2c.mail' contains a trick to make Scheme->C to work
  97.    with ILISP.
  98.  
  99. -- The file 'ilisp-s2c.el' contains a first cut definition of the
  100.    Scheme->C dialect. Note that this file is neither byte compiled nor
  101.    loaded.
  102.  
  103.  
  104. Known bugs:
  105.  
  106. -- Keymap handling is still rather inflexible. Either you like the
  107.    setup or you don't. (A patch by Kimball Collins was not inserted in
  108.    the code because we feel there should be a more thorough cleanup).
  109.  
  110. -- AKCL and GCL may cause an error in the sturtup procedure of ILISP. We (the
  111.    maintainers) have been unable to track down this one since we have
  112.    not access to an AKCL or GCL environment. Please help us.
  113.  
  114. -- Source level tracking for interpreted code in CMUCL may still break down
  115.    unexpectedly. This is due to the inner working of CMUCL and there
  116.    is no easy fix. We try to fall back on the TAG machinery.
  117.  
  118. -- The menu entry does not track correctly the status of the inferior
  119.    lisp. I.e. there is no code yet that disables the menu items when
  120.    the inferior Lisp is not running anymore.
  121.  
  122. -- Package tracking is still somewhat flaky.
  123.  
  124. -- Multiprocessing Lisps may still cause problems with prompts. This
  125.    has been noticed especially with Allegro CL.
  126.  
  127. -- The "send the source even if compiled file file exist" bug is still
  128.    in place.
  129.  
  130.  
  131. ===============================================================================
  132. Mon, 11 Jul 94 10:48:24 EDT  Version 5.6 Released
  133.  
  134. -- Works once again with GNU emacs 19.25, lemacs 19.10. and emacs 18.58.
  135.  
  136. -- The popper facility has been completely replaced by a much less
  137.    intrusive facility which has most of the original functionality.
  138.    All ilisp output is funneled through the function which is the value 
  139.    of the variable ilisp-display-output-function.  Several sample display 
  140.    functions are provided.  Do c-H m in an ilisp buffer for more info.
  141.  
  142. -- The common lisp arglist printer has been prettified somewhat.
  143.  
  144. -- Ilisp no longer tries to handle lisp errors by default.  This is
  145.    controlled by the varible ilisp-handle-errors.
  146.  
  147. -- Many of the hairy regexps used to located definitions have been
  148.    broken out into separate variables. One is ilisp-cl-source-locater-patterns,
  149.    which is an alist of (function-type regexp)
  150.  
  151. -- Compile-defun, eval-defun and friends display the returned lisp value.
  152.  
  153. -- Defined variables for the init files for the built-in dialects, to ease
  154.    customization (ilisp-clisp-init-file, etc).
  155.  
  156. -- Some handy new functions: ilisp-lispm-bindings, repair-ilisp.
  157.  
  158. -- A minor bugfix in ilisp-send.
  159.  
  160. -- A simplified makefile.
  161.  
  162. ===============================================================================
  163. Fixes in 5.5:
  164.  
  165. -- Now works with lemacs 19.8 (to be released soon) in addition to all
  166.    the other versions of emacs around.
  167.  
  168. ===============================================================================
  169. Fixes in 5.4:
  170.  
  171. -- Added support for CMUCL 17b.
  172.  
  173. -- Fixed definition regexp in ilisp-locate-ilisp.   Thanks to Paul
  174.    Krause.
  175.  
  176. -- Hacked popper to make output lines of one line or less get
  177.    displayed in the message buffer, depending on the variable
  178.    popper-use-message-buffer.
  179.  
  180. ===============================================================================
  181. Fixes in 5.3:
  182.  
  183. -- Fixes some problems in clisp.lisp
  184.  
  185. -- Makefile-ilisp now valid for Sun's distributed `make'.
  186.  
  187. -- Did the right thing regarding autoloads (yes you have to define them
  188. in your .emacs, and make them autoload "ilisp".)  See ilisp.emacs
  189.  
  190. -- Put the run-hooks calls at the end of ilisp.el where they should
  191.    be.
  192.  
  193.     "Fixes" in version 5.2 of ILISP.  
  194.  
  195. Cause more problems with autoloads and fixes a missing definition in the
  196. Makefile-ilisp in 5.1
  197.  
  198.     "Fixes" in version 5.1:
  199.  
  200. It removes some correct information concerning autoloads in ilisp.texi
  201. and ilisp.emacs that was released in 5.0
  202.  
  203. ======================================================================
  204. Sat Jun 26 14:22:01 1993  Version 5.0 Released
  205.  
  206. Changes:
  207.  
  208. The major changes from 4.12:
  209.  
  210. --Now works with emacs-18, fsf emacs-19, and Lucid emacs-19.
  211.  
  212. --Major file splitting done in an attempt to modularize ILISP.
  213.  
  214. --Added LISP-DONT-CACHE-PACKAGE lets users tell ILISP to search for the
  215. most recent IN-PACKAGE on each eval/compile in a lisp buffer.
  216.  
  217. --Added 'message feature for lisp-no-popper, allows output from ILISP
  218. to be sent to the message window (instead of via the popper or the
  219. inferior lisp buffer) if it is one line long.  Useful for small
  220. arg-lists, etc. Now the default.  
  221.  
  222. --Made the popper be off by default.  To have the popper on, set
  223. popper-pop-buffers and popper-buffers-to-skip to t in a
  224. popper-load-hook. See the sample in popper.el
  225.  
  226. FEATURES:
  227.  
  228. +Support for multiple LISP dialects including Lucid, Allegro, KCL,
  229. AKCL, IBCL and CMU on multiple machines even at the same time.
  230.  
  231. +Dynamically sized pop-up windows that can be buried and scrolled from
  232. any window.
  233.  
  234. +Packages are properly handled including the distinction between
  235. exported and internal symbols.
  236.  
  237. +Synchronous, asynchronous or batch eval and compile of files,
  238. regions, definitions and sexps with optional switching and automatic
  239. calling.
  240.  
  241. +Arglist, documentation, describe, and macroexpand.
  242.  
  243. +Completion of filename components and LISP symbols including partial
  244. matches.
  245.  
  246. +Find source both with and without help from the inferior LISP.
  247. Including CLOS methods, multiple definitions and multiple files.  Also
  248. works for automatically generated functions like defstruct.
  249.  
  250. +Edit the callers of a function with and without help from the
  251. inferior LISP.
  252.  
  253. +Trace/untrace a function.
  254.  
  255. +Esc-q works properly on paragraphs in comments, strings and code.
  256.  
  257. +Find unbalanced parentheses.
  258.  
  259. +Super brackets.
  260.  
  261. +Handles editing, entering and indenting full LISP expressions.
  262.  
  263. +Next/previous and similar history mechanism compatible with comint.
  264.  
  265. +Handles LISP errors.
  266.  
  267. +Result histories are maintained in the inferior LISP.
  268.  
  269. +Does not create spurious symbols and handles case issues.
  270.  
  271. +Raw keyboard mode allows interaction with interactive programs
  272. through Emacs.
  273.  
  274. +Online manuals for ILISP.
  275.  
  276. ======================================================================
  277. 92/03/17 Version 4.12 released
  278.  
  279. Changes: Fixed an intermittent send bug.  Made it so that popper is
  280. not required so aggressively.  Ignore symbolics font information of
  281. source. Made lisp-end-defun-text so that it would work in non-lisp
  282. modes. Set the package for ilisp-arglist. Made error dispatch case
  283. insensitive.  Fixed lisp-directory to add files when lisp-edit-files
  284. is t.  Fixed clisp.lisp compile for lucid.  Made
  285. comint-interrupt-subjob interactive. Updated popper to run with emacs
  286. 19.  Fixed popper-wraps so that shell-command gets wrapped at load
  287. time and changed it to be a function.  Added newline at end of bug
  288. messages.  Updated the cmulisp interface file to run with the lastest
  289. CMU CL release. Made sure that *standard-output* and *error-output*
  290. are bound to *terminal-io*.  Fixed completer so that last completion
  291. was accurate in the case of interruptions.  Added a path cache to
  292. completer. Fixed completer so that Meta-return completes to best guess
  293. and so that the full pattern is used for disambiguation.  Fixed +
  294. history so that it is saved/restored. Fixed popper so that popping up
  295. a window when in a popper window resuses the same window and if the
  296. buffer is changed within a temp-buffer-show form, it works properly.
  297. Fixed lisp-defun-end so that it no longer includes to the end of the
  298. line.  Made it so that initialization through commands did not try to
  299. synchronize with the inferior LISP.  Fixed edit-definitions-lisp so
  300. that it would work if there is no inferior lisp.  Fixed popper-wrap so
  301. that it included numeric documentation strings.  Made it so that
  302. popper preserves the buffer point and scrolling backwards wraps
  303. around.  Incoroporated the latest version of completion.  Added
  304. documentation on global-map bindings.  Added
  305. ilisp-load-no-compile-query.  Added ilisp-use-map so that keymaps can
  306. be switched in dialect definitions. Added completer-any-delimiter to
  307. completer. Fixed bug in completer that caused relative file names to
  308. get erased. Fixed popper so that it handled killed buffers, popped
  309. faster and had negative buffer lists.  Fixed it so that
  310. dialect-program doesn't get stomped by loading ilisp.  Made it so that
  311. ilisp-bug doesn't stomp on someone's unfinished message.  Look for
  312. both .elc and .el files for setting ilisp-directory. Fixed a bug in
  313. lucid that prevented compilation of the interface files on some
  314. implementations.  Fixed epoch-pop so that it quits nicer.  Fixed bug
  315. in CMU LISP interface.  Added *features* to ilisp-bug.  Fixed bugs in
  316. completer when extending directories and for Apollo and AFS.  Fixed
  317. popper so that it does not remove the trailing newline.  Made
  318. lisp-buffer smart about killed buffers.
  319.  
  320. ======================================================================
  321. 91/05/08 Version 4.11 released
  322.  
  323. Changes: Improved the way that completer handled filenames ending with
  324. a / and relative pathnames.  Added popper-wrap to popper for functions
  325. that don't use with-output-to-temp-buffer.  Added popper-empty-min and
  326. popper-min-heights. Made popper-pop-buffers and popper-buffers-to-skip
  327. default to t.  Fixed lisp-prefix-p so that reusing completion tables
  328. works better. Fixed a bug in lisp-end-defun-text that made things
  329. weird when people did not use ;;; for top comment blocks. Improved
  330. ilisp-bug so that it gives more information and is less likely to
  331. break.  Put interface files in their own package.  Changed
  332. ilisp-compile to funcall of compile for all except lucid.  Fixed a bug
  333. in lisp-pop-to-buffer that put the lisp in the popper buffer.  Fixed a
  334. bug in ilisp-matching-symbols that prevented pattern matching with a
  335. pattern that matched the last word.  Bare CR's now send an empty
  336. string.  Made it so that allegro init binary extensions default to
  337. excl:*fasl-default-type* unless on a known platform.  Added fboundp to
  338. generic-function-p in ilisp-arglist.  Fixed KCL and friends dialects.
  339. Fixed a couple of small bugs in completer.  Added raw keyboard mode.
  340. Fixed lisp-pop-to-buffer so that the buffer was always selected which
  341. fixed a bug in edit-definitions and friends.  Removed space from KCL
  342. comint-prompt-regexp.  Added inspect-lisp.  Fixed a bug in popper-show
  343. that complained if buffer was a string and fixed call in
  344. who-calls-lisp.  Fixed some bugs in completer that completed too much
  345. for local returns and that nuked the string if confirmation was
  346. required.
  347.  
  348. ======================================================================
  349. 91/03/19 Version 4.10 released
  350.  
  351. Changes: Changed the default binding of close-and-send-lisp.  Added
  352. better dialect support for kcl, akcl, and ibcl.  Improved the run-time
  353. detection of PCL/CLOS in clisp.lisp.  Fixed a nasty popper bug if you
  354. tried to pop up a window when in a popper window.  Made it so that
  355. popper-other-window would switch to the popper window when called with
  356. a C-u prefix.  Added support for allegro 4.0. Made lisp-in-string
  357. smarter about escaped " so that close-all-lisp worked better.  Renamed
  358. reparse-attribute-list and made it so that you can specify manual
  359. packages.  Improved partial completion of symbols so that it goes to
  360. the ambiguous part.  Changed it so that uncompiled interface files
  361. complain rather than compile.  Improved completer so that it completes
  362. pathname components.  Made it so that dialects could be started up
  363. with emacs switches.  Incorporated a new fancier version of
  364. reposition-window-lisp.  Fixed restore so that it no longer printed
  365. messages when there were multiple line values restored.  Added
  366. trace-function-lisp.  Improved lisp-function-name when it is in a
  367. string.  Changed initialization so that there is a dialect specific
  368. program variable and the defaults are better and sticky.
  369. lucid-check-prompt was hosed which of course broke everything in
  370. Lucid.  Fixed load-file-lisp so that it allows interaction and senses
  371. compile errors better.  Added process bridges.  Added
  372. comint-always-scroll.  Made allegro macroexpand so that it would walk
  373. instead.  Fixed popper so that switching to the popper buffer worked.
  374. Fixed close-all-lisp so that it did not blow away # or ' at start of
  375. sexp.  Fixed ilisp-buffer so that it complained if the buffer was
  376. killed out from under it.  Changed ilisp-filter-regexp to filter all
  377. lone keywords.  Added prefix arg to documentation-lisp so that
  378. function call doc could be gotten.  Set ilisp-directory in
  379. initialization so that it could be built into Emacs image.  Added
  380. Franz online common lisp manual.  Added reset-ilisp to reset to
  381. top-level and made it so that delete-char would pop one level at the
  382. end.  Added call-defun-lisp and bound it to C-z y.  Fixed the binding
  383. for popper-grow-output.  Added lisp-no-popper to stop using popper.
  384. Fixed compile-defun-lisp so that it would compile the previous form in
  385. the inferior LISP.  Made it so that the entire in-package sexp is sent
  386. to the inferior so that nicknames get set.  Added package-lisp and
  387. set-package-lisp.  Removed eval-prev-sexp-lisp and made
  388. eval-next-sexp-lisp do that with a negative prefix.  Fixed
  389. lisp-defun-name so that it returned just the function name.  Added
  390. lisp-region-name to better name regions.  Improved messages in
  391. interrupt-subjob-lisp.  Added sit-for to all accept-process-output
  392. loops to prevent locking up Emacs in Sys V.  Changed how
  393. comment-region-lisp treated the end of the region and fixed a nasty
  394. bug for a region including the eob.  Made changes to clisp.lisp for
  395. lucid and kcl.  Added better kcl dialect definition.  Made it so that
  396. end-of-defun-lisp would require ;;; at the left margin to decide that
  397. the next definition had started.  Made it so that multiple sexps could
  398. be typed to the top-level.  Made it so that all popper windows could
  399. be skipped.  Simplified the ilisp-package-regexp.
  400.  
  401. ======================================================================
  402. 90/12/30 Version 4.00 released
  403.  
  404. IMPROVEMENTS: Process stuff has been rewritten and much improved.  If
  405. you prefer the old eval/compile behavior, set lisp-wait-p to t in your
  406. ilisp-load-hook.  Improved edit-definitions and edit-callers so that
  407. they support multiple definitions of any LISP object even if the
  408. inferior LISP does not store the information.  Added support for
  409. Epoch.  Separated out lisp-mode extensions, symlink fix, source stuff
  410. and batch eval/compile.  Lots of minor improvements, see details
  411. below.
  412.  
  413. INCOMPATIBLE CHANGES: Renamed interactive functions to put package
  414. specification at the end so that names were quicker to specify and
  415. some internal functions so that they were unique to ilisp.
  416. ilisp-clisp now takes the full file name.  ilisp-load-or-send-command
  417. now takes the binary and source paths explicitly.  The ilisp- prefix
  418. was removed from dialect file names.  ilisp-definition-regexp has gone
  419. away.  ilisp-prompt, ilisp-fix-error and ilisp-continue have gone away
  420. in favor of the actual comint- variables.  ilisp-expand-symlinks has
  421. gone away. 
  422.  
  423. DETAILS: Finally fixed up how many newlines are inserted.  Made it so
  424. that the source file stuff would use a resident buffer with the same
  425. name if available.  Added ilisp-filter-length to the input filter.
  426. When reading a symbol, the inferior lisp is no longer queried with an
  427. empty string.  newline-and-indent-ilisp will send a string w/o a new
  428. line if called at the end of a buffer.  This was so that raw character
  429. i/o could be done in some lisps.  All comint and comint-ipc variables
  430. can now be set in hooks and the right thing will happen.  Made
  431. lisp-end-defun-text skip over leading comments.  Added the functions
  432. search-in-lisp-files and replace-in-lisp-files.  Prevented the
  433. addition of duplicate entries to the input ring and expanded its size
  434. to 200 entries.  Made lisp-def-name so that it adds the name of the
  435. defining form and returns an empty string at the end of a buffer.
  436. Swapped bindings of macroexpand-lisp and macroexpand-1-lisp.  Fixed
  437. expand-file-name bug if // was at the start of a filename.  Fixed
  438. obscure bug in make-local-variable.  Added ilisp-other-prompt and
  439. bol-ilisp.  Added case-fold-search to appropriate places.  Fixed error
  440. recovery in ilisp-completer.  Removed extra parentheses in the string
  441. for ilisp-init-binary-command.  Added documentation on scrolling the
  442. popper window backwards.  Fixed comment-region so that it handles
  443. empty lines and deleting spaces at the start.  Fixed behavior of
  444. reindent-lisp on comments at the start and end of a buffer.  Saved the
  445. point in reposition-window-lisp.  Rewrote close-all-lisp so that it
  446. inserted a bracket if in a string and was better behaved WRT non sexp
  447. brackets and so that it could close all brackets.  Removed breaks in
  448. lisp-end-defun-text for unclosed strings.  Added comint-check-prompt
  449. to comint-ipc so that dialects can be smarter about errors.  Added
  450. ilisp-check-prompt and allegro and lucid definitions.  Changed
  451. edit-callers so that it uses the name of the current defun as its
  452. default.  Changed popper so that it handles more windows, removes
  453. trailing lines, is nicer about bindings and added popper-grow-output.
  454. Also added epoch-pop for epoch.  Made lisp-input-start work if the
  455. point was at the start of the line the prompt was on.  This made
  456. reindent-lisp and close-all-lisp work in ilisp mode.  Added
  457. close-and-send-lisp.  Made it so that bindings are only done after the
  458. hooks are run.  Shorter clisp error messages.  Removed
  459. ilisp-definition-regexp and replaced it with ilisp-locator.  Made
  460. message optional in ilisp-send and ilisp-send-string.  Added a startup
  461. message to ilisp buffers.  Made it so that there is filename
  462. completion when prompting for lisp program.  Fixed bug in
  463. ilisp-load-init.  Made it so that if an eval/compile worked normally,
  464. no message was displayed.  Fixed lucid ilisp-list-callers so that it
  465. does not recurse forever.  Changed lisp-list-callers to who-calls-lisp
  466. and made it so that it would display the buffer.  Added ilisp-dialect
  467. as a list of dialect names for the inferior LISP.  Added partial
  468. minibuffer completion.  Improved filename completion help in
  469. complete-lisp.  Added ilisp-bug for bug reporting. Improved case
  470. handling for clisp.  popper v2.00, completer v2.00.
  471.  
  472. ======================================================================
  473. 10/12/90 Version 3.0 released.  Improved pop-up windows, symbol
  474. completion, package handling, compilation and initialization.
  475. Changed default binding prefix.  Added trace/untrace and
  476. evaluation of defvars.
  477.   
  478. ======================================================================
  479.  8/22/90 Version 2.0 released. Fixed bugs and changed initialization.
  480.  
  481. ======================================================================
  482.  6/11/90 Version 1.0 released.
  483.